1. Field of the Invention
The present invention relates generally to the recording of audio data onto optical media, and more particularly to a method for determining digital audio extraction (DAX) speeds in preparation for commencing a recording operation to prevent buffer underruns.
2. Description of the Related Art
When recording audio data to optical media, the source audio data is typically in a digital audio file format that must be extracted or decoded from a source location during the recording process. Selected audio data is typically retrieved by a recording engine of the host computer system. The recording engine reads data from the source which can be, for example, the host system hard disk drive, a peripheral optical media device connected to the host system, a source on the Internet, a local network, another optical media drive on a network, and the like. The audio data is extracted and transferred to a faster access buffer memory, or to system cache before transfer to faster access buffer memory, and then continuously recorded onto one or more tracks of an optical media during a recording session.
In preparation for recording, also known as “burning” or “ripping,” a number of calculations and preparatory actions, also known as pre-burn calculations, are performed. Such actions include, but are not limited to, mapping each of the source audio files, mapping a destination or target location for each of the audio files to be recorded to the destination or target optical media, determining a size of each selected audio file, determining which audio files will be sent to system cache and which will be read directly into the recording device buffer memory, and various other determinations, computations, and other system and program functions completed in preparation for burning an audio optical media. As is well known, the results from several of the preparatory computations and actions are used to either set up a recording process that will avoid buffer underrun, or make a determination whether the selected audio files can be recorded to the identified target optical media without encountering buffer underrun.
As is known, buffer underrun occurs when the rate of recording onto the optical media exceeds the rate at which the recording engine can replenish data in the buffer memory. As recording rates for optical media have increased beyond 4× (1× being defined as normal music playback speed), the capability of the recording device to burn audio to optical media often exceeds the capability of the recording engine to transfer audio data to buffer memory. Eventually, after a buffer underrun occurs, the burning stops. With the technological advancements being realized in optical media recording devices, recording speeds continue to increase. This leads to increased likelihood of buffer underrun, and inefficient use of recording resources.
The consequences of one or more buffer underruns during recording to an optical media depend on the type of optical media used during the recording. By way of example, a CD-R optical disc can be recorded to only one time. Any data recorded prior to buffer underrun are inaccessible and typically cause the CD-R optical disc to be scrapped and replaced by a fresh CD-R optical disc for a repeated recording. In another example, a CD-RW optical disc can be written to multiple times, since the optical disc can be erased and the recording can be repeated. However, the repeating of recording sessions can take considerable time. Furthermore, regardless of whether the optical media is CD-R or CD-RW, high speed CD-RW, ultra-high speed CD-RW, or any other type of optical media as desired, another buffer underrun can occur during the repeated recording session, causing the loss of the time spent on the recording session, if not loss of the entire optical media.
The recording engine typically compensates in situations of slower data transfer to buffer memory by slowing the recording speed of the recording device so that the recording device is not depleting the buffer faster than the recording engine can replenish it. As described above, a factor in the determination of the speed of data transfer is the DAX speed of the source media drive. In general, the higher the DAX speed for a source media, the higher the record speed can be set to the target optical media while continuing to minimize the risk of buffer underrun.
The prior art method to determine an optimum recording speed to match the rate of depletion of data from the buffer with the rate of replenishment typically includes determination of the DAX speed for the audio source device. As is known, optical media devices are rated at a specific read speed and, if applicable, a specific write speed. Typically, the rated read speed is the maximum read speed of the device The actual DAX speed for a particular source media can vary depending on, by way of example, the type of media in the source device (e.g., CD-R, CD-RW, high speed CD-RW, ultra-high speed CD-RW, and the like).
In order to determine the actual DAX speed for a particular device having a particular media mounted thereon, prior art methods include the measurement of the DAX speed from the first audio track of the source media. Typically, a single measurement of the source DAX speed is taken, and then used for the entire recording process. FIG. 1 shows a typical optical media 106. Audio data that is recorded to the optical media 106 is commonly recorded in successive tracks with each track having a single audio file or song. The first track or song, i.e., Track 1, is typically recorded beginning with the innermost or center region 110 of the optical media 106, with successive tracks recorded in a circular or spiral pattern progressing towards the outer region 112 of the optical media 106. In FIG. 1, therefore, the region on the optical media 106 identified by 110 might contain data in a first recorded track, i.e., Track 1, and the region identified by 112 might contain data in a later-recorded track, e.g., Track n.
When most optical media devices extract digital audio data from an optical media 106, and specifically from an optical disc 106, the DAX speed is slower in the inner regions of an optical disc 106 than the DAX speed in the outer regions of an optical disc 106. In FIG. 1, the DAX speed in region 110 is slower than the DAX speed in region 112. In the typical prior art method of measuring the DAX speed to make pre-burn calculations to set the record speed, the slowest DAX speed from the source media (i.e., the DAX speed measured from Track 1) is used for the entire recording process.
In view of the foregoing, there is a need for a method for measuring the DAX speed from a source to configure the recording of audio data to optical media for efficient use of system resources while minimizing risk of buffer underrun.